Mobile devices are ubiquitous. The amount of data communicated to and from mobile devices continues to grow. The number and type of applications for which mobile devices are used also continues to expand. Even as miniaturization and advancing technology increases the sophistication, power, and capacity of mobile devices including smartphones, improved efficiencies are constantly sought for these devices. Improved efficiencies are needed because smartphones have finite resources. Finite resources may include battery life, memory, or bandwidth. Bandwidth is limited and may be costly since a data plan may charge by the amount of data transmitted or received by the device. Additionally, as more and more mobile devices transmit and receive more and more data to and from more and more applications, access to bandwidth may become more difficult and contention and collisions may become more frequent.
Online streaming video applications consume a significant portion of all bandwidth consumed by computing devices. Users are now accustomed to seeing what they want when they want. Users may no longer be willing to accept watching a television show at the time prescribed by a network. Other than a live event, such as the Super Bowl, time constraints are quickly disappearing. Currently, each person that views streamed content, including television shows, receives a stream of packets that include a portion of the television show. The packets are assembled in the viewing device and displayed in order. If there are three people in a room all watching the same streamed content on separate smartphones then each person is likely receiving all the streamed packets. While conventional broadcasts send video as streams of complete scenes, some types of broadcasts may not send video as streams of complete scenes. For example, in cartoons or video games, the background may be made from a set of fixed images and the foreground or action may be overlaid on the images.
A smartphone may be used to take photographs. While many photographs are completely unique, other photographs are very similar. For example, twenty pictures of a blimp flying over a cityscape may have the identical buildings in the identical locations while the blimp flies by. Conventionally, a smartphone that was going to upload the pictures to a picture repository or that was going to email or text the photos to a recipient would send the entire photograph.
Mobile devices may be used for intelligence gathering by crowd sourced applications. For example, a traffic application may acquire telemetry data from smartphones. The traffic application may then be able to tell where traffic is moving, how quickly traffic is moving, where a backup is growing, how quickly the backup is growing, and where traffic is stopped. The traffic application may receive substantially identical telemetry data from many smartphones. A traffic application may control the number of devices from which telemetry is received by selectively broadcasting a message to a smartphone like “don't send me any more data because you are sending me the same data as the car right beside you”. While this may reduce the volume of traffic data received, a smartphone that is still transmitting might still be sending substantially the same information over and over, particularly if the user is stuck in a traffic jam.